With the rapid development of terminal technologies, functions of a terminal are constantly enriched, and applications developed based on the terminal become increasingly more popular. A user may install and run a variety of applications on the terminal (e.g., mobile phones, tablet personal computers). Currently, many kinds of applications (e.g., communication applications, social networking applications) may transmit messages between the terminals. For example, an application (e.g., Tencent QQ) in a first terminal sends a message to a same application in a second terminal. The first terminal usually sends the message to a backend server. Then, the backend server transmits the message to the application in the second terminal.
For some applications which have push notification functionality, the mechanisms that the backend server transmits messages to these applications may include the followings. When the application is in an active state, because persistent connections established between the backend server and the application have characteristics of good real-time performance, the backend server usually transmits the message to the application through the persistent connections. When the application is in an inactive state (e.g., the application is closed or switched to the background), the message is sent to a push notification server and the push notification server pushes the message to the application. At the same time, a push notification is popped up. For example, applications that run in iOS devices (e.g., an iPhone, an iPod touch, an iPad) may implement a push notification function through Apple Push Notification Service (APNS) provided by Apple Inc. When the application in the iOS device is in the inactive state, the backend server may send the message to an APNS server, such that the APNS server transmits the message to the application.
However, the above mechanisms still have some defects. For example, when an application is in an inactive state, if a push notification switch is off, a backend server may lose a message because the backend server is unable to push the message through the push notification server, increasing the message loss probability. Because the message transmission is an important aspect of computer technology dealing with networked applications, technical solutions are needed to solve and/or improve the issues associated with the message transmission methods and systems.